package br.com.foxinline.manager.acao.ep;

import br.com.foxinline.enums.ep.Central;
import br.com.foxinline.servico.ep.EscrituraSDIServico;
import br.com.foxinline.servico.ep.EscrituraServico;
import br.com.foxinline.servico.ep.TestamentoServico;
import br.com.foxinline.utilitario.Mensagem;
import java.io.IOException;
import java.io.Serializable;
import java.util.Date;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author cadomeireles
 */
@ViewScoped
@ManagedBean
public class ManagerExportarCENSEC implements Serializable {

    @EJB
    EscrituraServico escrituraServico;
    @EJB
    EscrituraSDIServico escrituraSDIServico;
    @EJB
    TestamentoServico testamentoServico;
    private Date dataInicial;
    private Date dataFinal;
    private Central central;

    public void limpar() {
        dataInicial = null;
        dataFinal = null;
        central = null;
    }

    public void exportar() throws IOException {

        if (this.central == Central.CEP) {
            escrituraServico.exportarCENSEC(dataInicial, dataFinal);
        } else if (this.central == Central.CESDI) {
            escrituraSDIServico.exportarCENSEC(dataInicial, dataFinal);
        } else if (this.central == Central.RCTO) {
            testamentoServico.exportarCENSEC(dataInicial, dataFinal);
        }

        limpar();

        Mensagem.messagemInfo("Arquivo exportado com sucesso!");
    }

    public Date getDataInicial() {
        return dataInicial;
    }

    public void setDataInicial(Date dataInicial) {
        this.dataInicial = dataInicial;
    }

    public Date getDataFinal() {
        return dataFinal;
    }

    public void setDataFinal(Date dataFinal) {
        this.dataFinal = dataFinal;
    }

    public Central getCentral() {
        return central;
    }

    public void setCentral(Central central) {
        this.central = central;
    }
}
